package com.bosssoft.gateway.authentication.service;

import com.bosssoft.gateway.authentication.pojo.query.LoginQuery;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

/**
 * @className: AuthenticationService
 * @description: 认证服务业务层，调用后端用户中心接口返回VO，并生成token
 * @author: lanyukai
 * @date: 2024/6/19 17:09
 * @since 1.0
 **/
@Validated
public interface AuthenticationService {

    /**
     * 根据用户输入的用户名、密码、租户账号，去调用用户中心进行认证，认证后生成token
     * @author lanyukai
     * @date 2024/06/19 17:15
     * @param loginQuery 用户输入的用户名、密码、租户账号
     * @return 生成的token
     */
    String doAuth(@Valid @NotNull LoginQuery loginQuery);
}
